<?php

declare(strict_types=1);

namespace ImiApp\ApiServer\Api\Model\Base;

use Imi\Config\Annotation\ConfigValue;
use Imi\Model\Annotation\Column;
use Imi\Model\Annotation\DDL;
use Imi\Model\Annotation\Entity;
use Imi\Model\Annotation\Table;
use ImiApp\ImiServer\AbstractModel as Model;

/**
 * 设置通用店铺(参数表) 基类.
 *
 * @Entity(camel=false, bean=true, incrUpdate=false)
 * @Table(name=@ConfigValue(name="@app.models.ImiApp\ApiServer\Api\Model\Storeallsetlist.name", default="fa_storeallsetlist"), usePrefix=false, id={"id"}, dbPoolName=@ConfigValue(name="@app.models.ImiApp\ApiServer\Api\Model\Storeallsetlist.poolName"))
 * @DDL(sql="CREATE TABLE `fa_storeallsetlist` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '类型ID',
  `set_id` int(10) unsigned DEFAULT NULL COMMENT '类型id',
  `storeallset1` int(10) unsigned DEFAULT NULL COMMENT '晋级条件(订单量)',
  `storeallset2` int(10) unsigned DEFAULT NULL COMMENT '晋级条件(交易额)',
  `storeallset3` int(10) unsigned DEFAULT NULL COMMENT '入驻积分奖励',
  `storeallset4` int(10) unsigned DEFAULT NULL COMMENT '入驻费(元)',
  `storeallset5` int(10) unsigned DEFAULT NULL COMMENT '次年续费',
  `storeallset6` int(10) unsigned DEFAULT NULL COMMENT '店铺保证金(元)',
  `storeallset7` int(10) unsigned DEFAULT NULL COMMENT '店铺晋升(元)',
  `storeallset8` int(10) unsigned DEFAULT NULL COMMENT '网盘容量',
  `name` varchar(255) DEFAULT NULL COMMENT '类型名',
  `val` decimal(6,3) DEFAULT '0.000' COMMENT '设置',
  `createtime` bigint(16) DEFAULT NULL COMMENT '创建时间',
  `updatetime` bigint(16) DEFAULT NULL COMMENT '更新时间',
  `deletetime` bigint(16) DEFAULT NULL COMMENT '删除时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='设置通用店铺(参数表)'", decode="")
 *
 * @property int|null $id 类型ID
 * @property int|null $setId 类型id
 * @property int|null $storeallset1 晋级条件(订单量)
 * @property int|null $storeallset2 晋级条件(交易额)
 * @property int|null $storeallset3 入驻积分奖励
 * @property int|null $storeallset4 入驻费(元)
 * @property int|null $storeallset5 次年续费
 * @property int|null $storeallset6 店铺保证金(元)
 * @property int|null $storeallset7 店铺晋升(元)
 * @property int|null $storeallset8 网盘容量
 * @property string|null $name 类型名
 * @property string|float|int|null $val 设置
 * @property int|null $createtime 创建时间
 * @property int|null $updatetime 更新时间
 * @property int|null $deletetime 删除时间
 */
abstract class StoreallsetlistBase extends Model
{
    /**
     * {@inheritdoc}
     */
    public const PRIMARY_KEY = 'id';

    /**
     * {@inheritdoc}
     */
    public const PRIMARY_KEYS = ["id"];

    /**
     * 类型ID.
     * id
     * @Column(name="id", type="int", length=10, accuracy=0, nullable=false, default="", isPrimaryKey=true, primaryKeyIndex=0, isAutoIncrement=true, unsigned=true, virtual=false)
     * @var int|null
     */
    protected ?int $id = NULL;

    /**
     * 获取 id - 类型ID.
     *
     * @return int|null
     */
    public function getId(): ?int
    {
        return $this->id;
    }

    /**
     * 赋值 id - 类型ID.
     * @param int|null $id id
     * @return static
     */
    public function setId($id)
    {
        $this->id = null === $id ? null : (int)$id;
        return $this;
    }

    /**
     * 类型id.
     * set_id
     * @Column(name="set_id", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=true, virtual=false)
     * @var int|null
     */
    protected ?int $setId = NULL;

    /**
     * 获取 setId - 类型id.
     *
     * @return int|null
     */
    public function getSetId(): ?int
    {
        return $this->setId;
    }

    /**
     * 赋值 setId - 类型id.
     * @param int|null $setId set_id
     * @return static
     */
    public function setSetId($setId)
    {
        $this->setId = null === $setId ? null : (int)$setId;
        return $this;
    }

    /**
     * 晋级条件(订单量).
     * storeallset1
     * @Column(name="storeallset1", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=true, virtual=false)
     * @var int|null
     */
    protected ?int $storeallset1 = NULL;

    /**
     * 获取 storeallset1 - 晋级条件(订单量).
     *
     * @return int|null
     */
    public function getStoreallset1(): ?int
    {
        return $this->storeallset1;
    }

    /**
     * 赋值 storeallset1 - 晋级条件(订单量).
     * @param int|null $storeallset1 storeallset1
     * @return static
     */
    public function setStoreallset1($storeallset1)
    {
        $this->storeallset1 = null === $storeallset1 ? null : (int)$storeallset1;
        return $this;
    }

    /**
     * 晋级条件(交易额).
     * storeallset2
     * @Column(name="storeallset2", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=true, virtual=false)
     * @var int|null
     */
    protected ?int $storeallset2 = NULL;

    /**
     * 获取 storeallset2 - 晋级条件(交易额).
     *
     * @return int|null
     */
    public function getStoreallset2(): ?int
    {
        return $this->storeallset2;
    }

    /**
     * 赋值 storeallset2 - 晋级条件(交易额).
     * @param int|null $storeallset2 storeallset2
     * @return static
     */
    public function setStoreallset2($storeallset2)
    {
        $this->storeallset2 = null === $storeallset2 ? null : (int)$storeallset2;
        return $this;
    }

    /**
     * 入驻积分奖励.
     * storeallset3
     * @Column(name="storeallset3", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=true, virtual=false)
     * @var int|null
     */
    protected ?int $storeallset3 = NULL;

    /**
     * 获取 storeallset3 - 入驻积分奖励.
     *
     * @return int|null
     */
    public function getStoreallset3(): ?int
    {
        return $this->storeallset3;
    }

    /**
     * 赋值 storeallset3 - 入驻积分奖励.
     * @param int|null $storeallset3 storeallset3
     * @return static
     */
    public function setStoreallset3($storeallset3)
    {
        $this->storeallset3 = null === $storeallset3 ? null : (int)$storeallset3;
        return $this;
    }

    /**
     * 入驻费(元).
     * storeallset4
     * @Column(name="storeallset4", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=true, virtual=false)
     * @var int|null
     */
    protected ?int $storeallset4 = NULL;

    /**
     * 获取 storeallset4 - 入驻费(元).
     *
     * @return int|null
     */
    public function getStoreallset4(): ?int
    {
        return $this->storeallset4;
    }

    /**
     * 赋值 storeallset4 - 入驻费(元).
     * @param int|null $storeallset4 storeallset4
     * @return static
     */
    public function setStoreallset4($storeallset4)
    {
        $this->storeallset4 = null === $storeallset4 ? null : (int)$storeallset4;
        return $this;
    }

    /**
     * 次年续费.
     * storeallset5
     * @Column(name="storeallset5", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=true, virtual=false)
     * @var int|null
     */
    protected ?int $storeallset5 = NULL;

    /**
     * 获取 storeallset5 - 次年续费.
     *
     * @return int|null
     */
    public function getStoreallset5(): ?int
    {
        return $this->storeallset5;
    }

    /**
     * 赋值 storeallset5 - 次年续费.
     * @param int|null $storeallset5 storeallset5
     * @return static
     */
    public function setStoreallset5($storeallset5)
    {
        $this->storeallset5 = null === $storeallset5 ? null : (int)$storeallset5;
        return $this;
    }

    /**
     * 店铺保证金(元).
     * storeallset6
     * @Column(name="storeallset6", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=true, virtual=false)
     * @var int|null
     */
    protected ?int $storeallset6 = NULL;

    /**
     * 获取 storeallset6 - 店铺保证金(元).
     *
     * @return int|null
     */
    public function getStoreallset6(): ?int
    {
        return $this->storeallset6;
    }

    /**
     * 赋值 storeallset6 - 店铺保证金(元).
     * @param int|null $storeallset6 storeallset6
     * @return static
     */
    public function setStoreallset6($storeallset6)
    {
        $this->storeallset6 = null === $storeallset6 ? null : (int)$storeallset6;
        return $this;
    }

    /**
     * 店铺晋升(元).
     * storeallset7
     * @Column(name="storeallset7", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=true, virtual=false)
     * @var int|null
     */
    protected ?int $storeallset7 = NULL;

    /**
     * 获取 storeallset7 - 店铺晋升(元).
     *
     * @return int|null
     */
    public function getStoreallset7(): ?int
    {
        return $this->storeallset7;
    }

    /**
     * 赋值 storeallset7 - 店铺晋升(元).
     * @param int|null $storeallset7 storeallset7
     * @return static
     */
    public function setStoreallset7($storeallset7)
    {
        $this->storeallset7 = null === $storeallset7 ? null : (int)$storeallset7;
        return $this;
    }

    /**
     * 网盘容量.
     * storeallset8
     * @Column(name="storeallset8", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=true, virtual=false)
     * @var int|null
     */
    protected ?int $storeallset8 = NULL;

    /**
     * 获取 storeallset8 - 网盘容量.
     *
     * @return int|null
     */
    public function getStoreallset8(): ?int
    {
        return $this->storeallset8;
    }

    /**
     * 赋值 storeallset8 - 网盘容量.
     * @param int|null $storeallset8 storeallset8
     * @return static
     */
    public function setStoreallset8($storeallset8)
    {
        $this->storeallset8 = null === $storeallset8 ? null : (int)$storeallset8;
        return $this;
    }

    /**
     * 类型名.
     * name
     * @Column(name="name", type="varchar", length=255, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=false, virtual=false)
     * @var string|null
     */
    protected ?string $name = NULL;

    /**
     * 获取 name - 类型名.
     *
     * @return string|null
     */
    public function getName(): ?string
    {
        return $this->name;
    }

    /**
     * 赋值 name - 类型名.
     * @param string|null $name name
     * @return static
     */
    public function setName($name)
    {
        $this->name = null === $name ? null : (string)$name;
        return $this;
    }

    /**
     * 设置.
     * val
     * @Column(name="val", type="decimal", length=6, accuracy=3, nullable=true, default="0.000", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=false, virtual=false)
     * @var string|float|int|null
     */
    protected $val = NULL;

    /**
     * 获取 val - 设置.
     *
     * @return string|float|int|null
     */
    public function getVal()
    {
        return $this->val;
    }

    /**
     * 赋值 val - 设置.
     * @param string|float|int|null $val val
     * @return static
     */
    public function setVal($val)
    {
        $this->val = null === $val ? null : $val;
        return $this;
    }

    /**
     * 创建时间.
     * createtime
     * @Column(name="createtime", type="bigint", length=16, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=false, virtual=false)
     * @var int|null
     */
    protected ?int $createtime = NULL;

    /**
     * 获取 createtime - 创建时间.
     *
     * @return int|null
     */
    public function getCreatetime(): ?int
    {
        return $this->createtime;
    }

    /**
     * 赋值 createtime - 创建时间.
     * @param int|null $createtime createtime
     * @return static
     */
    public function setCreatetime($createtime)
    {
        $this->createtime = null === $createtime ? null : (int)$createtime;
        return $this;
    }

    /**
     * 更新时间.
     * updatetime
     * @Column(name="updatetime", type="bigint", length=16, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=false, virtual=false)
     * @var int|null
     */
    protected ?int $updatetime = NULL;

    /**
     * 获取 updatetime - 更新时间.
     *
     * @return int|null
     */
    public function getUpdatetime(): ?int
    {
        return $this->updatetime;
    }

    /**
     * 赋值 updatetime - 更新时间.
     * @param int|null $updatetime updatetime
     * @return static
     */
    public function setUpdatetime($updatetime)
    {
        $this->updatetime = null === $updatetime ? null : (int)$updatetime;
        return $this;
    }

    /**
     * 删除时间.
     * deletetime
     * @Column(name="deletetime", type="bigint", length=16, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false, unsigned=false, virtual=false)
     * @var int|null
     */
    protected ?int $deletetime = NULL;

    /**
     * 获取 deletetime - 删除时间.
     *
     * @return int|null
     */
    public function getDeletetime(): ?int
    {
        return $this->deletetime;
    }

    /**
     * 赋值 deletetime - 删除时间.
     * @param int|null $deletetime deletetime
     * @return static
     */
    public function setDeletetime($deletetime)
    {
        $this->deletetime = null === $deletetime ? null : (int)$deletetime;
        return $this;
    }

}
